#!/bin/bash
#这个脚本的作用是用于迁移前,还原压缩过得mp4文件,删除压缩完的文件
mp4Dir=/   #mp4的目录

#通用变量
dateNow=`date +%Y%m%d`
logdir='/lhwl/bin/tmp/';mkdir -p /lhwl/bin/tmp/
logfile=${logdir}/recoverSourceFile.${dateNow}
ffreportLog=${logdir}/ffreport.log
size=5  #按一分钟5M的标准计算码率
mp4NewTem=${logdir}/mp4NewTem/
mkdir -p ${mp4NewTem} #压缩临时目录
rm -f ${mp4NewTem}/*
standSign=700
compressExtName=_y${standSign}.mp4
endSignTargets="y.mp4 y.MP4" #扩展名数组
newCompressSizeLogFile=${logdir}/compressAndForceUseLittleMp4FileFor4.0.newCompressSizeLogFile.${dateNow}
lossFile=${logdir}/checkSourceFileSize.${dateNow}
compressFilesArray=''
checkSourceFileLossResult=${logdir}/checkSourceFileLossResult.${dateNow}
rm -f ${checkSourceFileLossResult}

#脚本的作用:还原原始文件,删除压缩文件和软连接
#查找全部 *.sourceFile
echo '###################################'   >> ${logfile}

echo 查找全部 *.sourceFile >> ${logfile}
echo "find ${mp4Dir} -name *.sourceFile" >> ${logfile}
sourceFileList=`find ${mp4Dir} -name *.sourceFile`    #查找全部备份过的原始文件

function killSelf(){
  ps -ef |grep `echo $0`|awk -F ' ' '{print $2}'|xargs kill -9
}

function pass(){
  echo '' >> /dev/null
}

for sourceFile in `echo ${sourceFileList}`    #从原始文件列表提取出一个
do
  echo -e "\033[34;32m###################################\033[0m" >> ${logfile} #红色31 绿色32
  
  sourceFileNoExtName=`echo ${sourceFile%".sourceFile"}`   #计算的出原始文件不带.sourceFile的部分真实文件名
  echo 源文件的原始名叫 ${sourceFileNoExtName} >> ${logfile}
  
  if [[ -L ${sourceFileNoExtName} ]];then   #如果此时真实文件名对应的是软连接,就应该还原
    realFile=`realpath ${sourceFileNoExtName}` #查找真实文件
    echo 原始文件名的软连接目标是 ${realFile} >> ${logfile}
    if [[ -f ${realFile} ]];then  #如果真实文件存在,就把它删除,并把软连接删除,并把原始文件重命名为源文件名
      echo rm -f ${realFile} ${sourceFileNoExtName}  >> ${logfile}
      echo mv ${sourceFile} ${sourceFileNoExtName} >> ${logfile}
      rm -f ${realFile} ${sourceFileNoExtName}
      mv ${sourceFile} ${sourceFileNoExtName} 
      #killSelf
    else
      echo 软连接目标文件不存在 ll ${realFile}  >> ${logfile}
      killSelf
    fi
  else
    echo 源文件的原始文件名不是软连接 ll ${sourceFileNoExtName}  >> ${logfile}
    killSelf
  fi
  
  #killSelf
  

  
  
  
  
  
  
  
  
  
  
  
  
  #for endSignTarget in `echo ${endSignTargets}`; #y.mp4 y.MP4
  #do
  #  echo 本次对比的endSignTarget结束标志为 ${endSignTarget} >> ${logfile}
  #  if [ ${compressSign}x = ${endSignTarget}x ];then
  #    notEndSignName=`echo ${compressFile%"_${compressSign}"}`
  #    echo 匹配成功,不带压缩标志的文件路径为 ${notEndSignName}  >> ${logfile}
  #    sourceFileName=${notEndSignName}.${extName}
  #    echo 理论上原文件名字为 ${sourceFileName} >> ${logfile}
  #    if [[ -f ${sourceFileName} ]];then
  #      echo 原文件存在,说明压缩文件命名的没有问题 >> ${logfile}
  #    else
  #      killSelf
  #      #echo 备份文件不存在 ll ${notEndSignName} >> ${logfile}
  #    fi
  #    break
  #    #killSelf
  #  fi
  #done
  #killSelf
done
echo  ${#compressFileArray[@]} >> ${logfile}

##脚本的作用:让用户使用700kb/s的视频
##查找全部mp4,不包括_y.mp4
##查看这个文件是否是软连接
##  如果是软连接
##    说明,正在工作的是压缩过的文件,
##      查看压缩过的时长是否跟老文件一致
##        如果一致,就继续
##        如果不一致,就删除,重新压缩
##      查看压缩过的文件分辨率
##        如果大于700,就对压缩过的进行压缩
##          如果压缩成功,就强制使用
##          如果不成功,就不处理了
##        如果不大于700,就不处理了
##  如果不是软连接
##    说明工作的是原文件,查看源文件分辨率是否大于700
##      如果大于,就压缩源文件
##        如果压缩成功,就强制使用
##        如果压缩不成功,就不处理了
##      如果不大于,就跳过
#
#dubboStandSign=$(bc <<EOF
#  scale = 4
#  var1 = ${standSign}
#  var2 = 2
#  var2 * var1 
#EOF
#  )   #可以计算小数的大小
#
#function findSourceFiles(){ #查找全部mp4文件,不包括_y和_y700
#  echo '###################################'   >> ${logfile}
#  #echo find ${mp4Dir} -name *.mp4 >> ${logfile}
#  
#  echo 查找全部mp4文件,不包括_y和_y700>> ${logfile}
#  echo "find ${mp4Dir} -name *.mp4|grep -Ev \"_y.mp4|${compressExtName}\"" >> ${logfile}
#  sourceFileList=`find ${mp4Dir} -name *.mp4|grep -Ev "_y.mp4|${compressExtName}"`
#  #sourceFileListArray=(${sourceFileList// /}) #字符串转数组
#  for sourceFile in `echo ${sourceFileList}`
#  do
#    #echo ${sourceFile} >> ${logfile}
#    sourceFileListArray[${#sourceFileListArray[@]}]=${sourceFile}
#  done
#    
#  echo 源文件共 ${#sourceFileListArray[@]} >> ${logfile}
#
#}
#
#function killSelf(){
#  ps -ef |grep `echo $0`|awk -F ' ' '{print $2}'|xargs kill -9
#}
#
#function pass(){
#  echo ''
#}
#
#function getBitrate(){ #获取当前码率
#  rm -f ${ffreportLog}
#  echo FFREPORT=file=${ffreportLog}:level=32 ffprobe -hide_banner -i ${1} >>  ${logfile}
#  FFREPORT=file=${ffreportLog}:level=32 ffprobe -hide_banner  -i ${1} #  -hide_banner 隐藏编译信息 #FFREPORT=file=tmp/ffreport.log:level=32 ffprobe -hide_banner -i /lhwl/data/upload/jnzyk.36ve.com/zyk/mat_resource/j01901v0002_1.mp4
#  bitrate=`grep Duration ${ffreportLog}|awk -F ' ' '{print $6}'` # Duration: 00:03:05.17, start: 0.000000, bitrate: 5252 kb/s
#  
#  if [ ${bitrate}x == ''x ];then
#    echo "获取码率失败,设置分辨率为10000"  >> ${logfile}
#    echo '################' >>${logdir}/errer
#    echo FFREPORT=file=tmp/ffreport.log:level=32 ffprobe -hide_banner -i ${1} >>${logdir}/errer
#    #killSelf
#    #continue
#    #exit
#    bitrate=10000
#  fi
#  echo ${bitrate}
#  return
#}
#
#function getTime(){ #获取时长
#  rm -f ${ffreportLog}
#  echo FFREPORT=file=${ffreportLog}:level=32 ffprobe -hide_banner -i $1 >>  ${logfile}
#  FFREPORT=file=${ffreportLog}:level=32 ffprobe -hide_banner  -i $1 #  -hide_banner 隐藏编译信息 #FFREPORT=file=tmp/ffreport.log:level=3 ffprobe -hide_banner -i /lhwl/data/upload/jnzyk.36ve.com/zyk/mat_resource/j01901v0002_1.mp4
#  time=`grep Duration ${ffreportLog}|awk -F ' ' '{print $2}'` # Duration: 00:03:05.17, start: 0.000000, bitrate: 5252 kb/s
#  if [ ${time}x == ''x ] ;then  #如果获得的时长为空，就停止
#    echo 获取时长失败 $1 >> ${logfile}
#    time=0
#    #exit #这种退出是无效的,因为它是在子进程中执行的,停止的是子进程
#    #killSelf 
#    #continue
#  fi
#  echo 文件时长 ${time} >>${logfile}
#  #echo "文件时长秒计算方法 echo ${time}|awk -F ':' '{print \$1*3600+\$2*60+\$3}'" >>${logfile}
#  timeSecond=`echo ${time}|awk -F '[:|.]' '{print $1*3600+$2*60+$3}'` #185
#  #echo "文件时长秒 ${timeSecond} ">>${logfile}
#  
#  #printf %0.0f ${timeSecond}
#  echo ${timeSecond}
#  return #return不带参数时,返回上一句的返回值
#}
#
#function compress(){ #压缩文件 它接收的文件有可能是原文件也有可能是真实文件的源文件
#  mp4NewTemFile=${mp4NewTem}/mp4NewTemFile.mp4 #压缩临时文件
#  rm -f ${mp4NewTem}/mp4NewTemFile.mp4 
#  
#  sourceBitrate=`getBitrate ${1}`  #获取原码率
#
#  echo 源文件的码率 ${sourceBitrate} >>  ${logfile}
#  echo 这次的标准码率 ${standSign} >>  ${logfile}
#  if [[ $(echo "${dubboStandSign} <  ${sourceBitrate}"|bc) = 1 ]];then
#    echo 这次的标准码率的2倍小于原文件的码率,值得压缩 >>  ${logfile}
#  else
#    echo 这次的标准码率的2倍不小于源文件的码率,没有压缩的意义,跳过 >>  ${logfile}
#    echo -127
#    return
#  fi
#
#  
#  newBitrate=${standSign} #新码率等于标准码率
#  
#  echo 执行以下语句,进行压缩  >> ${logfile}
#  echo ffmpeg -i ${1} -vcodec h264 -b:v ${newBitrate}k  ${mp4NewTemFile} -loglevel -8  >> ${logfile}
#  echo "正在压缩，请稍等......"  >> ${logfile}
#  ffmpeg -i ${1} -vcodec h264 -b:v ${newBitrate}k  ${mp4NewTemFile} -loglevel -8
#  
#  if [[ ${?}x != '0'x ]];then
#    #只要结果不是0,那么上一条内容执行失败.停止
#    #echo 压缩失败: ${1} >> ${logfile}
#    echo -e "\033[34;31m执行压缩失败: ${1}\033[0m" >> ${logfile}
#    #echo 停止
#    #exit
#    #killSelf
#    echo -127 #压缩成不成功关系到,是否强制使用压缩过的文件,所以要向下传递一个状态信息
#    return
#  fi
#  
#  if [ ! -f ${mp4NewTemFile} ];then
#    #echo 压缩失败,没有新产生的压缩文件: ${1} >> ${logfile}
#    echo -e "\033[34;31m压缩失败,没有新产生的压缩文件: ${1}\033[0m" >> ${logfile}
#    #exit
#    #killSelf
#    echo -127 #压缩成不成功关系到,是否强制使用压缩过的文件,所以要向下传递一个状态信息
#    return
#  fi
#  
#  echo 获取源文件的时长 >> ${logfile}
#  sourceFileTimeSecond=`getTime ${1}` #源文件时长
#  echo 执行以下语句,获得新压缩过的文件时长 >> ${logfile}
#  compressFileTimeSecond=`getTime ${mp4NewTemFile}` #新压缩过的文件时长
#  
#  echo 源文件时长 ${sourceFileTimeSecond}  >> ${logfile}
#  echo 刚刚压缩过的文件时长 ${compressFileTimeSecond}  >> ${logfile}
#  
#  if [[ ${sourceFileTimeSecond} -ge $(echo ${compressFileTimeSecond}-5|bc) && ${sourceFileTimeSecond} -le $(echo ${compressFileTimeSecond}+5|bc) ]];then
#    echo 老文件时长在新文件时长上下5s之间 >> ${logfile}
#  else
#    #echo 压缩失败: 新文件时长不等于老文件时长 ${1} >> ${logfile}
#    echo -e "\033[34;31m压缩失败: 新文件时长不等于老文件时长 ${1}\033[0m" >> ${logfile}
#    #exit
#    #killSelf
#    echo -127 #压缩成不成功关系到,是否强制使用压缩过的文件,所以要向下传递一个状态信息
#    return
#  fi
#
#  sourceFileSize=`ls -l ${1} | awk '{print $5/1024/1024}'` #源文件的大小
#  newCompressSize=`ls -l ${mp4NewTemFile} | awk '{print $5/1024/1024}'` #真实压缩完的大小
#  
#  dubboNewCompressSize=$(bc <<EOF
#  scale = 4
#  var1 = ${newCompressSize}
#  var2 = 2
#  var2 * var1 
#EOF
#  )   #计算小数的大小
#  
#  echo 源文件的大小 ${sourceFileSize} >>  ${logfile}
#  echo 真实压缩完的大小 ${newCompressSize} >>  ${logfile}
#  if [[ $(echo "${dubboNewCompressSize} <  ${sourceFileSize}"|bc) = 1 ]];then
#    echo 源文件的大小 ${sourceFileSize} >> ${newCompressSizeLogFile}  
#    echo 真实压缩完的大小 ${newCompressSize} >> ${newCompressSizeLogFile}  
#    echo 压缩完的文件比源文件小2倍 >> ${logfile}
#  else
#    echo 压缩完的文件太大,压缩就没有意义,压缩失败  >> ${logfile}
#    echo -127
#    return
#  fi
# 
#  echo 压缩成功 ${1} >> ${logfile}
#  
#  if [[ `echo $1|grep MP4`x = x ]];then
#    extName=mp4
#  else
#    extName=MP4
#  fi
#  notExtNameSourceFileName=`echo ${1%".${extName}"}` #获得扩展名以左的内容 %表示抛弃右边的部分 #表示抛弃左边的部分
#
#  compressFile=${notExtNameSourceFileName}_y${standSign}.${extName} #tong_ming_ming_fa_.mp4.zi_jian_ji_001_y700.mp4
#  
#  echo   mv ${mp4NewTemFile}  ${compressFile} >> ${logfile}
#  echo   chown www.www ${compressFile} >> ${logfile}
#
#  #killSelf
#  echo 0 #压缩成不成功关系到,是否强制使用压缩过的文件,所以要向下传递一个状态信息
#  return
#}
#
#
#function forceUseCompressFile(){  #强制使用压缩后的文件
#  #sourceFile=$1
#  #compressFile=$2
#  bakFile=${1}.sourceFile
#  echo 备份文件名为: ${bakFile} >> ${logfile}
# 
#  if [ -f ${bakFile} ];then #
#    echo 备份文件居然存在,这不正常.应该不存在才对.终止程序 >> ${logfile}
#    killSelf
#  fi  
#
#  echo '备份文件不存在 于是需要重命名,做软连接 '${bakFile} >> ${logfile} #备份文件不存在，就需要 重命名 做软连接
#
#  echo mv ${1} ${bakFile} >> ${logfile}
#  #mv ${1} ${bakFile} #/lhwl/data/upload/jnzyk.36ve.com/zyk/file_dir/zjk/zgctwh/j00406v0040.mp4.sourceFile
#
#  echo ln -s ${2} ${1} >>  ${logfile}
#  #ln -s ${2} ${1}
#
#  echo 强制使用完后的结果是 >>  ${logfile}
#  #ls -l ${2} ${1} ${bakFile} >>  ${logfile}
#  #获得不带压缩标志的文件地址
#  #extName=${1##*.} # mp4
#  #notExtNameFilePath=`echo ${1}|sed "s/\.${extName}//g"`  #ping_deng_pian_di_liu_jiang__0
#  notExtNameFilePath=`echo ${1%.*}` #tong_ming_ming_fa_.mp4.zi_jian_ji_001
#  ls -l ${notExtNameFilePath}* >>  ${logfile} # ping_deng_pian_di_liu_jiang__0
#}
#
#function replaceLnsTarget(){   #替换软连接的目标文件
#  #realFile = $1 #软连接
#  #compressFile= $2 #新目标文件
#  echo rm -f $1 >>  ${logfile}
#  echo ln -s $2 $1>>  ${logfile}
#}
#
#function compressSourceFile (){ #查看老文件是否需要压缩,如果是 就压;压完强制
#  #sourceFile=$1
#  #查看老文件码率
#  sourceFileBitrate=`getBitrate ${1}`
#  
#  echo 判断老码率是否大于${standSign},也就是本次压缩的标准值 ${standSign} >> ${logfile}
#  if [[ ${sourceFileBitrate} -gt ${dubboStandSign} ]];then #删除了软连接,还原了源文件,查看源文件是否需要压缩
#    echo 这次的标准码率的2倍小于老文件的码率,值得压缩 >>  ${logfile}
#    #echo 需要压缩 >> ${logfile}
#    compressStatus=`compress ${1}`   ##########################################################################
#    #这里可以加一个强制使用
#      if [[ ${compressStatus}x = 0x ]];then
#        echo 可以执行强制使用 >> ${logfile}
#
#        extName=${1##*.}
#        #compressFile=`echo ${1}|sed "s/\.${extName}/_y${standSign}\.${extName}/g"` #***_y.mp4
#        notExtNameSourceFileName=`echo ${1%.*}` #tong_ming_ming_fa_.mp4.zi_jian_ji_001
#        compressFile=${notExtNameSourceFileName}_y${standSign}.${extName} #tong_ming_ming_fa_.mp4.zi_jian_ji_001_y700.mp4
#        
#        forceUseCompressFile ${1} ${compressFile}
#      else
#        echo 源文件是软连接,真实文件时长跟压缩的时长不符,删除压缩过的文件,重新压缩,再次对比时长,再次不符.压缩措施对该文件失效,已经重新使用真实文件.不再处理这个文件 >> ${logfile}
#        #echo 这里需要报告一下开发,这个文件不要在发给我了.暂时这里不报告,没有id >> ${logfile}
#        echo 继续下一个文件吧 >> ${logfile}
#      fi
#  else
#    echo 老文件的分辨率 ${sourceFileBitrate} >> ${logfile}
#    echo 当前执行标准为 ${standSign} >> ${logfile}
#    echo 这次的标准码率的2倍不小于老文件的码率,不值得压缩,跳过 >>  ${logfile}
#    #echo 不需要压缩 >> ${logfile}
#  fi
#}
#
#
########################################################################################################################
########################################################################################################################
#findSourceFiles #查找全部mp4文件,不包括_y和_y700
#
#for ((i=0;i<${#sourceFileListArray[@]};i++));
##for ((i=0;i<2;i++));
#do
#  echo "######################" >> ${logfile}
#  #对比时长是否和源文件一致
#  sourceFile=${sourceFileListArray[${i}]}
#  #sourceFile=/lhwl/data/upload/jnzyk.36ve.com/zyk/mat_resource/j00402v0138.mp4
#
#  #echo 源文件是 ${sourceFile}  >> ${logfile}
#  #这个源文件有可能是软连接,也有肯能是真实文件
#  if [[ -L ${sourceFile} ]];then
#    #continue 
#    echo 源文件是软连接 ${sourceFile}   >> ${logfile}
#    realFile=`realpath ${sourceFile}` #查找真实文件
#    echo 真实文件是,这是一个压缩文件 ${realFile}  >> ${logfile}
#    
#    realFileTime=`getTime ${realFile}`
#    echo 真实文件的时长是 ${realFileTime} >> ${logfile}
#    
#    #realFile="ping_deng_pian_di_liu_jiang__0_y700.mp4"
#    
#    #获取realFile的realSourceFile
#      extName=${realFile##*.} # mp4 
#      
#      #notExtNameFileName=`echo ${realFile}|sed "s/\.${extName}//g"` #ping_deng_pian_di_liu_jiang__0_y700
#      notExtNameFileName=`echo ${realFile%.*}` # 这种写法表示截取右边第一个点之前的部分;.* 表示抛弃右边的部分;*.表示抛弃左边的部分
#      #tong_ming_ming_fa_.mp4.zi_jian_ji_001_y
#
#      echo 不包含扩展名的真实文件名是 ${notExtNameFileName} >> ${logfile}
#      #查看它是否是_y或者_y700结尾的 
#
#      endSign=`echo ${notExtNameFileName##*_}` #y y700 这是真实文件的结尾部分
#      
#      realSourceFile='' #接下来获取真实文件的源文件
#      for endSignTarget in ${endSignTargets}; #y y700
#      do
#        if [ ${endSign}x = ${endSignTarget}x ];then
#          #获得不带扩展名的真实源文件
#          #notExtNameSourceFileName=`echo ${realFile}|sed "s/_${endSign}.${extName}//g"` #ping_deng_pian_di_liu_jiang__0
#          notExtNameSourceFileName=`echo ${sourceFile%.*}` #tong_ming_ming_fa_.mp4.zi_jian_ji_001
#          realSourceFileName=${notExtNameSourceFileName}.${extName}.sourceFile
#          # 去掉压缩标志的那部分+.真实文件的扩展名+.sourceFile  ping_deng_pian_di_liu_jiang__0.mp4.sourceFile
#          echo endSign ${endSign} >> ${logfile}
#          echo 真实文件的源文件名为 ${realSourceFileName} >> ${logfile} #ping_deng_pian_di_liu_jiang__0.mp4
#          #定义完了真实文件的源文件,看看这个源文件是否存在
#          if [ -f ${realSourceFileName} ];then #如果存在,****
#            realSourceFile=${realSourceFileName}
#            echo 真实文件的源文件 真的存在 ${realSourceFile} >> ${logfile}
#            echo 对比真实文件的源文件和真实文件的时长是否一致 >> ${logfile}
#                #获取realFile的realSourceFile的时长
#                realSourceFileTime=`getTime ${realSourceFile}`
#                  echo 真实文件时长 ${realFileTime} >> ${logfile}
#                  echo 真实文件的源文件时长 ${realSourceFileTime} >> ${logfile}
#            #判断真实文件和真实源文件时长是否一样
#            if [[ ${realFileTime} -ge $(echo ${realSourceFileTime}-5|bc) && ${realFileTime} -le $(echo ${realSourceFileTime}+5|bc) ]];then
#              echo 真实文件时长在真实文件的源文件时长上下5s之间 >> ${logfile}
#              echo 查看真实文件的分辨率 >> ${logfile}
#              realFileBitrate=`getBitrate ${realFile}`
#              echo 真实文件的分辨率是 ${realFileBitrate} >> ${logfile}
#              #如果真实文件的分辨率大于700(即此次的压缩标准),那么就应该压缩
#              if [[ ${realFileBitrate} -ge ${dubboStandSign} ]];then
#                echo 真实文件的分辨率大于此次的压缩标准 ${standSign},需要把真实文件的源文件在压缩一次 >> ${logfile}
#                compressStatus=`compress ${realSourceFile}`
#                if [[ ${compressStatus}x = 0x ]];then #决定:替换软连接的目标文件
#                  echo 替换软连接的目标文件 >> ${logfile}
#                  extName=${realFile##*.}
#                  #compressFile=`echo ${sourceFile}|sed "s/\.${extName}/_y${standSign}\.${extName}/g"` #***_y700.mp4
#                  compressFile=${notExtNameSourceFileName}_y${standSign}.${extName} #tong_ming_ming_fa_.mp4.zi_jian_ji_001_y700.mp4
#                  replaceLnsTarget ${sourceFile} ${compressFile} #替换软连接的目标文件
#                  killSelf
#                else
#                  echo 软连接在工作,大于此次压缩标准的文件在工作,此次压缩标准是 ${standSign} >> ${logfile}
#                  echo 正在工作的文件的分辨率是 ${realFileBitrate} >> ${logfile}
#                  echo 执行标准 ${standSign} 失败,继续使用 原压缩文件 >> ${logfile}
#                  echo 继续下一个文件吧 >> ${logfile}
#                fi
#                killSelf
#              else
#                echo 真实文件的分辨率不大于此次的压缩标准 ${standSign},继续使用这个压缩文件 >> ${logfile}
#                echo 这个压缩文件的分辨率是 ${realFileBitrate} >> ${logfile}
#              fi
#            else
#              echo -e "\033[34;31m真实文件时长不等于真实文件的源文件时长,必须删除,重新压缩\033[0m" >> ${logfile}
#              echo 删除 软连接 rm -f ${sourceFile} >> ${logfile}
#              echo 删除 真实文件 rm -f ${realFile} >> ${logfile}
#              echo 还原老文件 mv ${realSourceFile} ${sourceFile}  >> ${logfile}
#              
#              #还原完老文件,我希望把这个老文件在执行一次此次标准的压缩
#              compressSourceFile ${sourceFile}
#            fi
#          else #如果不存在,****
#            echo 真实文件的源文件 不存在 ${realSourceFile} >> ${logfile}
#            echo 真实文件的源文件不存在,说明真实文件的源文件丢了,应该终止程序,查看为什么 >> ${logfile}
#            echo ${realSourceFile} >> ${lossFile}
#            #killSelf
#          fi
#          break
#        else
#          echo "pass"
#          #echo endSign ${endSign} >> ${logfile}
#          #echo endSignTarget ${endSignTarget} >> ${logfile}
#        fi
#      done
#      #killSelf
#  else
#    #pass
#    echo 源文件不是软连接 ${sourceFile}  >> ${logfile}
#    echo 源文件是真实文件 ${sourceFile}  >> ${logfile}
#    #这个源文件可能从来被压缩过,所以我想压缩一下它
#    compressSourceFile ${sourceFile}
#    #killSelf
#  fi
#  #exit  
#done





